package com.hmkj.core.api.umf.domain;

import com.hmkj.core.api.umf.domain.base.BaseServiceRequest;

import java.io.Serializable;

/**
 * @author Created by 陌上人 on 2077/7/7 15:10.
 *
 * 直连付款请求domain
 */
public class H5PayServiceRequest  extends BaseServiceRequest {

    /**
     * 页面跳转同步通知页面路径
     * 交易完成后，联动优势支付平台会按照此地址将用户的交易结果页面重定向到商户网站。
     1、传入正确的URL，在成功页面返回按钮使用。
     2、如果商户不需要成功页面的返回按钮，此字段传入NoRetUrl，页面则没有返回按钮。
     */
    private String retUrl;

    /**
     * 付款币种 取值范围：
     RMB
     */
    private String amtType;

    /**
     * 商品号 支持数字，字母
     该参数为唯一一个对账文件返回的商户保留字段
     */
    private String goodsId;

    /**
     * 商品描述信息 如果传递中文，需确保该字段在传入接口前，编码正确，建议使用UTF-8编码（根据商户服务器编码环境而定）。需要支付宝微信支付时，此字段必传。
     */
    private String goodsInf;

    /**
     * 卡号 使用联动公钥进行RSA加密后，BASE64(GBK编码)加密该字段
     */
    private String cardId;

    /**
     * 证件类型 身份证取值：1
     （证件类型、证件号码需同时传有值或者同时不传）
     */
    private String identifyType;

    /**
     * 证件号 使用联动公钥进行RSA加密后，BASE64(GBK编码)加密该字段
     （证件类型、证件号码需同时传有值或者同时不传）
     */
    private String identifyCode;

    /**
     * 持卡人姓名 使用联动公钥进行RSA加密后，BASE64(GBK编码)加密该字段
     */
    private String cardHolder;

    /**
     * 商户用户标识 用户在商户端的唯一标识。
     首次支付时：如果输入该值，且用户在联动的收银台上同意快捷服务协议，则会注册快捷用户业务协议；
     如果没有输入，平台不会注册用户业务协议，也不会返回相应的注册签约信息，用户再次进行支付时，则还需要走首次支付。
     如使用了银联前台页面完成支付，则支付成功后无法在联动优势进行绑卡，同时结果通知中也不会返回支付协议号
     */
    private String merCustId;

    /**
     * 商户私有域 联动优势支付平台原样返回，用于商户的私有信息。
     */
    private String merPriv;

    /**
     * 用户IP地址 用户在创建交易时，该用户当前所使用机器的 IP。 用作防钓鱼校验
     */
    private String userIp;

    /**
     * 业务扩展信息 主要保存扩展字段的信息,详见附录
     */
    private String expand;

    /**
     * 订单过期时长 单位为分钟，默认1440分钟（24小时）
     */
    private String expireTime;

    /**
     * 风控扩展信息 格式：代码:内容#代码:内容……如：A0001:二级商户号#A0002:二级商户名称……
     (此字段要使用UTF-8 urlencode编码)
     */
    private String riskExpand;

    /**
     * 是否允许用户修改支付要素  如果传入card_id、card_holder和卡号，是否允许用户在联动平台上修改。
     0：不允许修改
     */
    private String canModifyFlag;

    /**
     * split_category 分账类别 2：标准分账
     */
    private String splitCategory;

    /**
     * 分账类型
     * 11：立即分账
       21：延时分账
     */
    private String splitType;

    /**
     * 分账数据  分账类别（split_category）为2：标准分账数据格式参考6.10.1分账请求数据格式
     */
    private String splitData;



}
